home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-05 / drivers1.zip / DESQVIEW.ASM < prev    next >
Assembly Source File  |  1991-01-30  |  3KB  |  138 lines

  1. IBMTRDV0.ASM
  2. ------------
  3.  
  4. data    segment at    0
  5.         org    5Ch*4
  6. netbios_int    dw     ?    ; netbios interface interrupt to DESQview hook
  7. desqview_call    equ    5    ; offset to real driver call in front end hook
  8.         org    0F1h*4
  9. saver_int    dw    ?    ; interrupt used to save data
  10.         org    4A1h
  11. netbios_flags    db    ?    ; NETBIOS interface work flags
  12. data        ends
  13.  
  14.  
  15.  
  16.  
  17.  
  18. IBMTRDV1.ASM
  19. ------------
  20.  
  21. ; Memory patches to allow running IBMTOKEN in a DESQview application.
  22. ; Patch 1/3, before loading DXMA0MOD.SYS
  23. ; A. Pirard. 13 aug 1990.
  24.  
  25.     include t0.asm
  26.  
  27. code    segment    byte public
  28.  
  29.     assume    cs:code
  30.     org    100h
  31. start:
  32.  
  33.     mov    ax,0
  34.     mov    ds,ax
  35.     assume    ds:data
  36.     pushf
  37.     cli
  38.     les    bx,dword ptr netbios_int
  39.     mov    saver_int,bx        ; save DV's int 5C
  40.     mov    saver_int+2,es
  41.     mov    netbios_int,0        ; allowing DXMA0MOD new start requires
  42.     mov    netbios_int+2,0        ; untouched looking interrupt 5C
  43.         mov    netbios_flags,0        ; and initially zero flags
  44.     popf
  45.     ret
  46.  
  47. code    ends
  48.  
  49.     end    start
  50.  
  51.  
  52.  
  53.  
  54. IBMTRDV2.ASM
  55. ------------
  56.  
  57. ; Memory patches to allow running IBMTOKEN in a DESQview application.
  58. ; Patch 2/3, after loading DXMA0MOD.SYS
  59. ; A. Pirard. 13 aug 1990.
  60.  
  61.     include t0.asm
  62.  
  63. code    segment    byte public
  64.  
  65.     assume    cs:code
  66.     org    100h
  67. start:
  68.  
  69.     mov    ax,0
  70.     mov    ds,ax
  71.     assume    ds:data
  72.     pushf
  73.     cli
  74.     les    bx,dword ptr saver_int    ; get back DV's Int 5C handler
  75.     mov    cx,netbios_int        ; get DXMA0MOD's one
  76.     mov    dx,netbios_int+2    ; and swap it with the one DV calls
  77.     mov    ax,es: desqview_call [bx]
  78.     mov    es: desqview_call [bx],cx
  79.     mov    cx,es: desqview_call+2 [bx]
  80.     mov    es: desqview_call+2 [bx],dx
  81.     mov    saver_int,ax        ; save address DV's int 5C called
  82.     mov    saver_int+2,cx
  83.     mov    netbios_int,bx        ; restore DV's Int 5C handler
  84.     mov    netbios_int+2,es
  85.     popf
  86.     ret
  87.  
  88. code    ends
  89.  
  90.     end    start
  91.  
  92.  
  93.  
  94.  
  95. IBMTRDV3.ASM
  96. ------------
  97.  
  98. ; Memory patches to allow running IBMTOKEN in a DESQview application.
  99. ; Patch 3/3, before closing DESQview application.
  100. ; A. Pirard. 13 aug 1990.
  101.  
  102.     include t0.asm
  103.  
  104. code    segment    byte public
  105.  
  106.     assume    cs:code
  107.     org    100h
  108. start:
  109.  
  110.     mov    ax,0
  111.     mov    ds,ax
  112.     assume    ds:data
  113.     pushf
  114.     cli
  115.     les    bx,dword ptr netbios_int    ; get DV's int 5C
  116.     lds    ax,dword ptr saver_int        ; and handler it called
  117.     assume    ds:nothing
  118.     mov    es: desqview_call [bx],ax   ; restore
  119.     mov    es: desqview_call+2 [bx],ds
  120.     popf
  121.     ret
  122.  
  123. code    ends
  124.  
  125.     end    start
  126.  
  127.     mov    saver_int+2,es
  128.     mov    netbios_int,0        ; allowing DXMA0MOD new start requires
  129.     mov    netbios_int+2,0        ; untouched looking interrupt 5C
  130.         mov    netbios_flags,0        ; and initially zero flags
  131.     popf
  132.     ret
  133.  
  134. code    ends
  135.  
  136.     end    start
  137.  
  138.